When you read 'delete p', say to yourself 'delete the thing pointed to by p'. One could argue that the keyword is misleading, but the same abuse of English occurs when 'free'ing the memory pointed to by a ptr in C:
free(ptr); /* why not 'free_the_stuff_pointed_to_by(p)' ?? */